From: Ray Strode Date: Thu, 9 Jan 2014 15:42:08 +0000 (-0500) Subject: loginDialog: defer loading user list until idle X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~2933 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=2d2020a20d8f4622b9acea6b15eb645b8580693c;p=gnome-shell.git loginDialog: defer loading user list until idle In some cases we load the user list after going back to main loop and in other cases we load the user list right away (depending on if accounts service is ready). In the case we load the user list right away we cause a traceback because loading the user list forces a reset, which then tries to reset actors which aren't instantiated yet. This commit ensures the user list is loaded after the constructor finishes and the event loop runs irregardless of the accountsservice state. https://bugzilla.gnome.org/show_bug.cgi?id=721868 --- diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js index d0928f6bd..49ca5ea5a 100644 --- a/js/gdm/loginDialog.js +++ b/js/gdm/loginDialog.js @@ -464,7 +464,7 @@ const LoginDialog = new Lang.Class({ } })); else - this._loadUserList(); + GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, this._loadUserList)); this._userList.connect('activate', Lang.bind(this, function(userList, item) {